# -*- coding: utf-8 -*-
import django.dispatch

# django 加载的时候会一同加载
pizza_done = django.dispatch.Signal(providing_args=['toppings','size'])


def callback(sender,**kwargs):
    """
    @params: kwargs ==> [toppings,size] 可以指定不同的参数定义
    @parmas: sender ==> 触发信号的对象,必须要传 否则会抛出异常
    自定义信号触发
    使用场景：
        比如说短信业务，用户在支付成功之后的短息发送业务的触发<当然也可以钩子函数，为了业务解耦最好用信号来处理不同的业务层>
        比如说 把业务拆分的时候，数据层只做数据CURD处理，业务层可以拆分不同的业务，同时可以用到信号来触发，等等
    """
    print('callback')
    print(sender,kwargs)
    return True

pizza_done.connect(callback)